<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Valum</title>
    <meta charset="UTF-8">
    <meta name="description" content="web micro-framework written in Vala">
    <link rel="stylesheet" href="/static/bootstrap/dist/css/bootstrap.min.css">
    <link rel="shortcut icon" href="/static/valum.png">
  </head>
  <body>
    <a href="https://github.com/valum-framework/valum">
      <img style="position: absolute; top: 0; right: 0; border: 0;"
           src="https://camo.githubusercontent.com/365986a132ccd6a44c23a9169022c0b5c890c387/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f7265645f6161303030302e706e67"
           alt="Fork Valum on GitHub"
           data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png">
    </a>
    <div class="container">
      <div class="row">
        <div class="col-md-8 col-md-offset-2" style="margin-top: 40px;">
          <header class="row">
            <div class="col-md-12">
              <div class="media">
                <div class="media-left">
                  <a href="/"><img class="media-object" src="/static/valum.png"></a>
                </div>
                <div class="media-body media-middle">
                  <h1 class="media-heading">Valum <small>web micro-framework written in Vala</small></h1>
                </div>
              </div>
            </div>
          </header>
          <div class="row">
            <div class="col-md-4">
              <h3>Documentation</h3>
              <p class="text-justify">
                Valum provides an <a href="http://valum-framework.readthedocs.org/en/latest/">extensive user documentation</a>
                to get you started with the framework.
              </p>
              <p class="text-justify">
                The framework is built upon <a href="https://developer.gnome.org/libsoup/stable/">libsoup</a> and
                automated with the <a href="https://code.google.com/p/waf/">waf build system</a>, so reading about all
                these is a good start.
              </p>
              <p class="text-justify">
                The <a href="http://valadoc.org">valadoc.org</a> website provides api specification of most libraries
                available in Vala.
              </p>
              <h3>Contributing</h3>
              <p class="text-justify">
                Valum is <a href="https://github.com/antono/valum">hosted on GitHub</a> and developed under the
                <a href="https://www.gnu.org/licenses/lgpl.html">LGPL</a> license.
              <p class="text-justify">
                Make sure you have read the <a href="http://valum-framework.readthedocs.org/en/latest/hacking.html">hacking document</a>
                to get an idea of how you can contribute to the framework.
              </p>
            </div>
            <div class="col-md-8">
              <h3>Project status</h3>
              <p>
                <a href="https://travis-ci.org/valum-framework/valum">
                  <img src="https://travis-ci.org/valum-framework/valum.svg?branch=master" alt="Build Status">
                </a>
                <a href="https://readthedocs.org/projects/valum-framework/?badge=latest">
                  <img src="https://readthedocs.org/projects/valum-framework/badge/?version=latest"
                       alt="Documentation Status">
                </a>
                <a href="https://codecov.io/gh/valum-framework/valum">
                  <img src="https://codecov.io/gh/valum-framework/valum/branch/master/graph/badge.svg"
                       alt="Codecov">
                </a>
              </p>
              </h3>
              <h3>Examples</h3>
              <p>
                This is a real Vala web application running on libsoup built-in HTTP server and we got real examples!
              </p>
              <h4>Basics</h4>
              <ul class="list-inline">
                <li><a href="/async">asychronous I/O</a></li>
                <li><a href="/gzip">gzip compression</a></li>
                <li><a href="/headers">HTTP headers</a></li>
                <li><a href="/query?foo=bar">HTTP query</a></li>
                <li><a href="/query">HTTP query (null)</a></li>
                <li><a href="/cookies">cookies</a></li>
                <li><a href="/urlencoded-data">urlencoded data</a></li>
                <li><a href="/tee">tee</a></li>
                <li><a href="/multipart">multipart</a></li>
              </ul>
              <h4>Router features</h4>
              <ul class="list-inline">
                <li><a href="/hello">Hello world!</a></li>
                <li><a href="/hello/">Hello world! (with a trailing slash)</a></li>
                <li><a href="/get-and-post">GET and POST</a></li>
                <li><a href="/custom-method">route using a custom HTTP method</a></li>
                <li><a href="/hello/world">route parameter</a></li>
                <li><a href="/users/4/edit">typed route parameter</a></li>
                <li><a href="/users/4">optional route parameter</a></li>
                <li><a href="/custom-route-type/abc">custom typed route parameter (permutations of abc)</a></li>
                <li><a href="/trailing-slash/">trailing slash</a> (<a href="/trailing-slash">without</a>)</li>
                <li><a href="/custom-regular-expression">route using a regular expression</a></li>
                <li><a href="/exact-path">route using an exact path match</a></li>
                <li><a href="/custom-matcher">route using a matcher callback</a></li>
                <li><a href="/admin/fun/hack">scoped routing</a></li>
                <li><a href="/redirect">redirection</a></li>
                <li><a href="/asdasd">not found</a></li>
                <li><a href="/not-found">not found (thrown)</a></li>
                <li><a href="/repository/valum">subrouter</a></li>
                <li><a href="/next">next</a></li>
                <li><a href="/state">next (passing a state)</a></li>
                <li><a href="/sequence">sequence</a></li>
              </ul>
              <h4>Extras</h4>
              <ul class="list-inline">
                <li><a href="/ctpl/foo/bar">CTPL templating</a></li>
                <li><a href="/server-sent-events">Server-Sent Events</a></li>
                <li>
                  <a href="/negotiate">negotiate</a>
                </li>
                <li>
                  <a href="/negotiate-encoding"> negotiate encoding (gzip or deflate)</a>
                </li>
                <li>
                  <a href="/negotiate-charset">negotiate charset (iso-8859-1)</a>
                </li>
                <li><a href="/static/bootstrap/dist/css/bootstrap.min.css">static resources delivery</a></li>
                <li><a href="/middleware">class-based middleware</a></li>
              </ul>
              <footer>
                <p class="text-center">
                <small>
                  Built by <a href="https://github.com/antono">@antono</a>,
                  <a href="https://github.com/arteymix">@arteymix</a> and the community!
                </small>
                </p>
              </footer>
            </div>
          </div>
        </div>
      </div>
  </body>
</html>
